/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.wooxes.client;

import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Widget;

/**
 *
 * @author alladanosa
 */

/*
 * Aquest tipus d'imatge tan sols s'utilitzarà dins una FlexTable
 * Per el que utilitzar-la d'una altra forma, pot portar problemes,
 * sobretot amb el mètode getIndex()
 */

public class ImageDir extends Image {
    //Constants
    private String S_CLOSED = "images/dir_tancat.gif";
    private String S_OPENED = "images/dir_obert.gif";
    
    private boolean isOpen;
    
    public ImageDir(){
        super();
        isOpen = false;
        modificarImatge();
    }

    public boolean isOpen(){
        return isOpen;
    }
    
    public void setOpen(boolean bool){
        isOpen = bool;
        modificarImatge();
    }
    
    private void modificarImatge(){
        if(isOpen == true){
            this.setUrl(S_OPENED);
        }
        else{
            this.setUrl(S_CLOSED);
        }
    }

    public int getIndex (){
        FlexTable flex = (FlexTable) this.getParent();
        int index = -1;
        
        int contingut = flex.getRowCount();
        Widget imatge = (Widget) this;
        Widget aux;
        
        for( int i=0; i < contingut; i++){
            aux = flex.getWidget(i, 0);
            if( aux == imatge ){
                index = i;
            }
        }
        
        return index;
    }
    
}
